package com.bone.workstation.dao;

import java.util.List;
import java.util.Map;

import com.bone.common.BaseIbatisDAO;
import com.bone.page.Page;
import com.bone.workstation.po.Module;

public class ModuleDAO extends BaseIbatisDAO {

	 
	/**
	 * 取符合条件的模块的数量.
	 * @param para
	 * @return
	 */
	public Long queryModuleCountByParam(Map<String, Object> para){
		return (Long) getSqlMapClientTemplate().queryForObject("MODULE.queryByParamCount", para);
	}
	/**
	 * 取符合条件的模块的LIST.
	 * @param para
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<Module> queryModuleListByParam(Map<String, Object> para){
		return getSqlMapClientTemplate().queryForList("MODULE.queryByParam", para);
	}
	
	/**
	 *   .
	 * @param parameter
	 * @return
	 */
	public boolean insertModule(Module module){
		getSqlMapClientTemplate().insert("MODULE.insert", module);
		return true;
	}
	
	/**
	 *   .
	 * @param parameter
	 * @return
	 */
	public boolean updateModule(Module module){
		getSqlMapClientTemplate().insert("MODULE.update", module);
		return true;
	}
	/**
	 * 根据模块的ID取有效的模块的信息 .
	 * @param parameter
	 * @return
	 */
	public Module queryValidModuleByModuleId(Integer moduleId){
		return  (Module) getSqlMapClientTemplate().queryForObject("MODULE.queryValidModuleByModuleId", moduleId);
	}
	
	/**
	 * 根据模块的ID取模块的信息 .
	 * @param parameter
	 * @return
	 */
	public Module queryModuleByModuleId(Long moduleId){
		return   (Module) getSqlMapClientTemplate().queryForObject("MODULE.queryModuleByModuleId", moduleId);
	}
	
	/**
	 * 根据用户的 Id取用户的权限菜单 .
	 * @param parameter
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<Module> queryValidModuleByemployeeId(Map<String, Object> para){
		return   (List<Module>) getSqlMapClientTemplate().queryForList("MODULE.queryValidModuleByEmployeeId", para);
	}
	
	/**
	 * 根据商户的 Id取商户的权限菜单 .
	 * @param parameter
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<Module> queryValidModuleByBusinessId(Map<String, Object> para){
		return   (List<Module>) getSqlMapClientTemplate().queryForList("MODULE.queryValidModuleByBusinessId", para);
	}
	
	
}
